package context

import (
	"ksd-social-api/commons/lib"
	"time"
)

/*
*
  - @author feige
  - @date 2023-10-13
  - @version 1.0
  - @desc 收藏点赞
*/
type SpecialLikeContext struct {
	UserId    uint64 `json:"userId"` // 点赞用户
	Uuid      string
	SpecialId uint64 `json:"couresId"` // 点赞下载
}

/*
*
  - @author feige
  - @date 2023-10-13
  - @version 1.0
  - @desc 搜索上下文
*/
type SpecialSearchContext struct {
	PageNo      int64  `json:"pageNo"`      // 分页
	PageSize    int64  `json:"pageSize"`    // 每页显示
	Keyword     string `json:"keyword"`     // 搜索关键词
	CategoryPid uint64 `json:"categoryPid"` //主分类
	CategoryCid uint64 `json:"categoryCid"` //子分类
	VipFlag     int    `json:"vipFlag"`     //1所有人免费 2 VIP免费 3：SVIP免费
	PayFlag     int    `json:"payFlag"`     //1：免费 2：付费
	HotFlag     int    `json:"hotFlag"`     //是否最热 1是 0否
	PushFlag    int    `json:"pushFlag"`    //是否推荐 1是 0否
	NewFlag     int    `json:"newFlag"`     //是否最新 1是 0否
	Specialtype int    `json:"specialtype"` //类型 1基础 2进阶 3 实战 4面试
	OrderNum    int    `json:"orderNum"`    //栏目搜索
	SystemId    uint64 `json:"systemId"`    // 系统编号
}

/**
 * @desc 收藏和点赞
 * @author feige
 * @date 2023-11-14
 * @version 1.0
 */
type SpecialUserListPageContext struct {
	PageNo     int64  `json:"pageNo"`     // 第几页
	PageSize   int64  `json:"pageSize"`   // 每页显示多少条
	UserId     uint64 `json:"userId"`     // 用户Id
	SystemId   uint64 `json:"systemId"`   // 系统编号
	SystemName string `json:"systemName"` // 系统名称
}

/**
 * @author feige
 * @date 2023-10-08
 * @version 1.0
 * @desc 下载浏览数记录
 */
type SpecialUserHitsContext struct {
	Opid       uint64 `json:"opid"`       //下载Id
	UserId     uint64 `json:"userId"`     //用户Id
	Uuid       string `json:"uuid"`       // 用户uuid
	Avatar     string `json:"avatar"`     // 用户头像
	Username   string `json:"username"`   //用户名
	Nickname   string `json:"nickname"`   //昵称
	SystemId   uint64 `json:"systemId"`   // 系统编号
	SystemName string `json:"systemName"` // 系统名称
}

/**
 * @author feige
 * @date 2023-10-08
 * @version 1.0
 * @desc 下载浏览数记录
 */
type SpecialUpdateContext struct {
	Id       lib.BigInt `json:"id"`
	Field    string     `json:"field"`
	Value    any        `json:"value"`
	SystemId uint64     `json:"systemId"`
}

/**
 * @author feige
 * @date 2023-10-08
 * @desc  下载明细页面需要返回的数据信息
 */
type SpecialSaveUpdateVo struct {
	Id             string    `json:"id"`           // 下载主键
	Title          string    `json:"title"`        // 下载标题
	Img            string    `json:"img"`          // 下载封面
	Content        string    `json:"content"`      // 下载内容
	Viewcount      int       `json:"viewcount"`    // 浏览数
	FavNum         int       `json:"favNum"`       // 收藏数
	LikeNum        int       `json:"likeNum"`      // 喜欢数
	LikeCount      int       `json:"likeCount"`    // 收藏数
	Price          string    `json:"price"`        // 价格
	Realprice      string    `json:"realprice"`    // 真实价格
	Tags           string    `json:"tags"`         //下载标签
	Description    string    `json:"description"`  //下载缩略描述
	CommentFlag    int       `json:"commentFlag"`  //0不可以评论 1可以评论
	Avatar         string    `json:"avatar"`       //作者头像
	Nickname       string    `json:"nickname"`     //昵称
	Status         int       `json:"status"`       //发布状态 1发布 0未发布
	IsDeleted      int       `json:"isDeleted"`    //发布状态 1发布 0未发布
	Userid         uint64    `json:"userid"`       //作者信息
	CommentNum     int       `json:"commentNum"`   //评论数量
	NewFlag        int       `json:"newFlag"`      //是否最新 1是 0否
	HotFlag        int       `json:"hotFlag"`      //是否最热 1是 0否
	PushFlag       int       `json:"pushFlag"`     //是否推荐 1是0 否
	CategoryId     uint64    `json:"categoryId"`   //下载分类Id
	CategoryName   string    `json:"categoryName"` //分类标题
	Uuid           string    `json:"uuid"`
	CreateTime     time.Time `json:"createTime"` // 创建时间
	UpdateTime     time.Time `json:"updateTime"` // 更新时间
	FocusFlag      int64     `json:"focusFlag"`  // 1 关注中 0 未关注
	FavFlag        int64     `json:"favFlag"`    // 1 已收藏 0 未收藏
	LikeFlag       int64     `json:"likeFlag"`   // 1 已点赞 0 未点赞
	PayFlag        int       `json:"payFlag"`    // 1免费  2 收费
	BuyFlag        int       `json:"buyFlag"`    // 购买状态 0 未购买 1 已购买
	BuyNum         int       `json:"buyNum"`     //购买人数
	PanLink        string    `json:"panLink"`    // 网盘链接
	PanPwd         string    `json:"panPwd"`     // 网盘密码
	TryLink        string    `json:"tryLink"`    // 体验地址
	Score          float32   `json:"score"`
	ClientLink     string    `json:"clientLink"`     // 客服号
	ClientLinkName string    `json:"clientLinkName"` // 客服名称
	ClientLinkImg  string    `json:"clientLinkImg"`  // 客服二维码
	QqLinkCode     string    `json:"qqLinkCode"`     // qq群
	QqLinkName     string    `json:"qqLinkName"`     // qq群名称
	QqLinkImg      string    `json:"qqLinkImg"`      // qq群二维码
	WeixinLink     string    `json:"weixinLink"`     // 微信群号
	WeixinLinkName string    `json:"weixinLinkName"` // 微信群名称
	WeixinLinkImg  string    `json:"weixinLinkImg"`  // 微信二维码
	ClientFlag     int       `json:"clientFlag"`     // 是否打开二维码
	Weixingzcode   string    `json:"weixingzcode"`   //微信公众号
	Weixingzimg    string    `json:"weixingzimg"`    //微信公众号图片
	Opengz         int       `json:"opengz"`         //是否打开公众号 1 打开 0不打开
	Videoid        string    `json:"videoid"`        // 关联视频地址
	Specialtype    int       `json:"specialtype"`    //类型 1基础 2进阶 3 实战 4面试
	Path           string    `json:"path"`           //短路径
	Stimer         string    `json:"stimer"`         //时长
	Intro          string    `json:"intro"`          //项目介绍
	Imgs           string    `json:"imgs"`           // 项目图集
	StudyList      string    `json:"studyList"`      // 你可以学到
	BuyList        string    `json:"buyList"`        // 购买须知
	Suitable       string    `json:"suitable"`       // 适合人群
	Teachnology    string    `json:"teachnology"`    //技术储备
	Envionments    string    `json:"envionments"`    //环境参数
	BgColor        string    `json:"bgColor"`        // 背景颜色
	GitHubLink     string    `json:"gitHubLink"`     // 代码托管地址
	GiteeLink      string    `json:"giteeLink"`      // 代码托管地址
	NoticeMsg      string    `json:"noticeMsg"`      // 通知
	SumPrice       float64   `json:"sumPrice"`       //小册金额
	SystemId       uint64    `json:"systemId"`       // 系统ID
	SystemName     string    `json:"systemName"`     // 系统名称
}

type SpecialCodeContext struct {
	Id         string     `json:"id"`         // 业务主键
	Code       string     `json:"code"`       //兑换码
	Mark       int        `json:"mark"`       //是否兑换
	Opid       lib.BigInt `json:"opid"`       //下载
	SystemId   uint64     `json:"systemId"`   // 系统ID
	SystemName string     `json:"systemName"` // 系统名称
	CreateTime time.Time  `json:"createTime"` // 创建时间
	UpdateTime time.Time  `json:"updateTime"` // 更新时间
}

/*
- @author feige
- @date 2023-10-13
- @version 1.0
- @desc 搜索上下文
*/
type CodeSearchContext struct {
	PageNo   int64  `json:"pageNo"`   // 分页
	PageSize int64  `json:"pageSize"` // 每页显示
	Mark     int    `json:"mark"`     // 搜索关键词
	Keyword  string `json:"keyword"`  // 搜索关键词
	SystemId uint64 `json:"systemId"` // 系统编号
}

/*
- @author feige
- @date 2023-10-13
- @version 1.0
- @desc 搜索上下文
*/
type BatchUsersContext struct {
	Uuid       string     `json:"uuid"`
	Opid       lib.BigInt `json:"opid"`
	SystemId   uint64     `json:"systemId"`   // 系统编号
	SystemName string     `json:"systemName"` // 系统名称
}

type SpecialBindContext struct {
	Id          string     `json:"id"`          // 主键
	SpecialId   lib.BigInt `json:"specialId"`   //专题ID
	Title       string     `json:"title"`       //章节名称
	Sorted      int        `json:"sorted"`      //章节排序
	Status      int        `json:"status"`      //发布状态1发布0未发布
	IsDeleted   int        `json:"isDeleted"`   //0未删除 1删除
	Price       string     `json:"price"`       //成交价格
	Description string     `json:"description"` //描述
	Type        int        `json:"type"`        //绑定类型 1 专题 2 小册 3 资源 4 老师
	FreeFlag    int        `json:"freeFlag"`    //1收费 0免费
	SystemId    uint64     `json:"systemId"`    // 系统ID
	SystemName  string     `json:"systemName"`  // 系统名称
}

type SpecialBindDetailContext struct {
	Id         string     `json:"id"`         // 主键
	BindId     lib.BigInt `json:"bindId"`     //所属绑定分类
	Sorted     int        `json:"sorted"`     //视频排序
	Status     int        `json:"status"`     //1发布 0不发布
	IsDeleted  int        `json:"isDeleted"`  //删除状态0未删除 1删除
	TeacherId  lib.BigInt `json:"teacherId"`  //老师ID
	SpecialId  lib.BigInt `json:"specialId"`  //专题ID
	NoteId     lib.BigInt `json:"noteId"`     //小册ID
	SystemId   uint64     `json:"systemId"`   // 系统ID
	SystemName string     `json:"systemName"` // 系统名称
}
